/**
 * 开发环境权限工具
 * 用于在开发环境中自动添加权限，避免权限验证问题
 */

import { SYSTEM_PERMISSIONS, MONITOR_PERMISSIONS, ROLE_PERMISSIONS } from '@/config/permissions'

// 开发环境默认权限
const DEV_DEFAULT_PERMISSIONS = [
  ...Object.values(SYSTEM_PERMISSIONS),
  ...Object.values(MONITOR_PERMISSIONS)
]

// 检查是否为开发环境
const isDevelopment = import.meta.env.DEV

/**
 * 获取开发环境权限
 * 在开发环境中返回所有权限，在生产环境中返回空数组
 */
export function getDevPermissions(): string[] {
  if (isDevelopment) {
    console.warn('🚧 开发环境：已自动添加所有权限')
    return DEV_DEFAULT_PERMISSIONS
  }
  return []
}

/**
 * 检查是否应该跳过权限验证
 * 在开发环境中可以跳过某些权限验证
 */
export function shouldSkipPermissionCheck(): boolean {
  return isDevelopment
}

/**
 * 获取开发环境角色权限
 * 在开发环境中返回超级管理员权限
 */
export function getDevRolePermissions(): string[] {
  if (isDevelopment) {
    return ROLE_PERMISSIONS.SUPER_ADMIN
  }
  return []
}

/**
 * 开发环境权限调试信息
 */
export function logDevPermissions() {
  if (isDevelopment) {
    console.group('🔐 开发环境权限信息')
    console.log('当前环境:', import.meta.env.MODE)
    console.log('可用权限数量:', DEV_DEFAULT_PERMISSIONS.length)
    console.log('系统权限:', Object.values(SYSTEM_PERMISSIONS).length)
    console.log('监控权限:', Object.values(MONITOR_PERMISSIONS).length)
    console.log('所有权限:', DEV_DEFAULT_PERMISSIONS)
    console.groupEnd()
  }
}
